/**
*      author: Y_Yao
*      created: 2025-03-01 20:28:20
**/

#include<bits/stdc++.h>

#define int LL
using namespace std;
using LL = long long;
const LL LLINF = 1e18;
const int INF = 0x3f3f3f3f;
const int N = 2e5 + 7;
const int M = 1e6 + 7;
int n;
int a[N];
unordered_map<int,int> mp;

void solve()
{
    cin >> n;
    int ans = LLINF;
    for(int i = 1;i <= n;i++)
    {
        cin >> a[i];
        if(mp.count(a[i]))
        {
            ans = min(ans,i - mp[a[i]] + 1);
        }
        mp[a[i]] = i; 
    }
    if(ans == LLINF)
    {
        cout << -1 << endl;
        return;
    }
    cout << ans << endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    int t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}